home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 15 / CU Amiga Magazine's Super CD-ROM 15 (1997)(EMAP Images)(GB)[!][issue 1997-10].iso / CUCD / Graphics / Ghostscript / source / watcw32.mak < prev    next >
Encoding:
Makefile  |  1997-06-18  |  11.8 KB  |  414 lines

  1. #    Copyright (C) 1991-1997 Aladdin Enterprises.  All rights reserved.
  2. # This file is part of Aladdin Ghostscript.
  3. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4. # or distributor accepts any responsibility for the consequences of using it,
  5. # or for whether it serves any particular purpose or works at all, unless he
  6. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  7. # License (the "License") for full details.
  8. # Every copy of Aladdin Ghostscript must include a copy of the License,
  9. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  10. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  11. # under certain conditions described in the License.  Among other things, the
  12. # License requires that the copyright notice and this notice be preserved on
  13. # all copies.
  14.  
  15. # watcw32.mak
  16. # makefile for Watcom C++ v??, Windows NT or Windows 95 platform.
  17. #   Does NOT build gs16spl.exe, which is 16-bit and is used under Win32s.
  18. #   Someone with access to the Watcom 16-bit documentation will need to 
  19. #   do this.
  20. # Created 1997-02-23 by Russell Lang from MSVC++ 4.0 makefile.
  21. #**************** THIS MAKEFILE DOES NOT WORK. ****************
  22. #**************** DO NOT ATTEMPT TO USE IT. ****************
  23.  
  24. # ------------------------------- Options ------------------------------- #
  25.  
  26. ###### This section is the only part of the file you should need to edit.
  27.  
  28. # ------ Generic options ------ #
  29.  
  30. # Define the directory that will hold documentation at runtime.
  31.  
  32. GS_DOCDIR=c:/gs
  33.  
  34. # Define the default directory/ies for the runtime
  35. # initialization and font files.  Separate multiple directories with \;.
  36. # Use / to indicate directories, not a single \.
  37.  
  38. GS_LIB_DEFAULT=.;c:/gs\;c:/gs/fonts
  39.  
  40. # Define whether or not searching for initialization files should always
  41. # look in the current directory first.  This leads to well-known security
  42. # and confusion problems, but users insist on it.
  43. # NOTE: this also affects searching for files named on the command line:
  44. # see the "File searching" section of use.txt for full details.
  45. # Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended.
  46.  
  47. SEARCH_HERE_FIRST=1
  48.  
  49. # Define the name of the interpreter initialization file.
  50. # (There is no reason to change this.)
  51.  
  52. GS_INIT=gs_init.ps
  53.  
  54. # Choose generic configuration options.
  55.  
  56. # Setting DEBUG=1 includes debugging features (-Z switch) in the code.
  57. # Code runs substantially slower even if no debugging switches are set,
  58. # and also takes about another 25K of memory.
  59.  
  60. DEBUG=0
  61.  
  62. # Setting TDEBUG=1 includes symbol table information for the debugger,
  63. # and also enables stack checking.  Code is substantially slower and larger.
  64.  
  65. TDEBUG=0
  66.  
  67. # Setting NOPRIVATE=1 makes private (static) procedures and variables public,
  68. # so they are visible to the debugger and profiler.
  69. # No execution time or space penalty, just larger .OBJ and .EXE files.
  70.  
  71. NOPRIVATE=0
  72.  
  73. # Define the name of the executable file.
  74.  
  75. GS=gswin32
  76. GSCONSOLE=gswin32c
  77. GSDLL=gsdll32
  78.  
  79. # To build two small executables and a large DLL use MAKEDLL=1
  80. # To build two large executables use MAKEDLL=0
  81.  
  82. MAKEDLL=1
  83.  
  84. # Define the directory where the IJG JPEG library sources are stored,
  85. # and the major version of the library that is stored there.
  86. # You may need to change this if the IJG library version changes.
  87. # See jpeg.mak for more information.
  88.  
  89. JSRCDIR=jpeg-6a
  90. JVERSION=6
  91.  
  92. # Define the directory where the PNG library sources are stored,
  93. # and the version of the library that is stored there.
  94. # You may need to change this if the libpng version changes.
  95. # See libpng.mak for more information.
  96.  
  97. PSRCDIR=libpng
  98. PVERSION=96
  99.  
  100. # Define the directory where the zlib sources are stored.
  101. # See zlib.mak for more information.
  102.  
  103. ZSRCDIR=zlib
  104.  
  105. # Define the configuration ID.  Read gs.mak carefully before changing this.
  106.  
  107. CONFIG=
  108.  
  109. # Define any other compilation flags.
  110.  
  111. CFLAGS=
  112.  
  113. # ------ Platform-specific options ------ #
  114.  
  115. # Define the drive, directory, and compiler name for the Watcom C files.
  116. # COMPDIR contains the compiler and linker.
  117. # INCDIR contains the include files.
  118. # LIBDIR contains the library files.
  119. # COMP is the full C compiler path name.
  120. # COMPCPP is the full C++ compiler path name.
  121. # COMPAUX is the compiler name for DOS utilities.
  122. # RCOMP is the resource compiler name.
  123. # LINK is the full linker path name.
  124. # WBIND is used for binding resources to an EXE or DLL
  125. # Note that INCDIR and LIBDIR are always followed by a \,
  126. #   so if you want to use the current directory, use an explicit '.'.
  127.  
  128. COMPBASE=d:\watcom
  129. COMPDIR=$(COMPBASE)\binb
  130. INCDIR=$(COMPBASE)\h;$(COMPBASE)\h\nt
  131. LIBDIR=$(COMPBASE)\lib386;$(COMPBASE)\lib386\nt
  132. COMP=$(COMPDIR)\wcc386
  133. COMPCPP=$(COMPDIR)\wpp386
  134. COMPAUX=$(COMPDIR)\wcc386
  135. RCOMP=$(COMPDIR)\wrc
  136. LINK=$(COMPDIR)\wlink
  137. WBIND=$(COMPDIR)\wbind
  138.  
  139. # Define the processor architecture. (always i386)
  140. CPU=i386
  141.  
  142. !ifeq CPU i386
  143. # Define the processor (CPU) type.  (386, 486 or 586)
  144.  
  145. CPU_TYPE=486
  146.  
  147. # Define the math coprocessor (FPU) type.
  148. # Options are -1 (optimize for no FPU), 0 (optimize for FPU present,
  149. # but do not require a FPU), 87, 287, or 387.
  150. # If you have a 486 or Pentium CPU, you should normally set FPU_TYPE to 387,
  151. # since most of these CPUs include the equivalent of an 80387 on-chip;
  152. # however, the 486SX and the Cyrix 486SLC do not have an on-chip FPU, so if
  153. # you have one of these CPUs and no external FPU, set FPU_TYPE to -1 or 0.
  154. # An xx87 option means that the executable will run only if a FPU
  155. # of that type (or higher) is available: this is NOT currently checked
  156. # at runtime.
  157.  
  158. FPU_TYPE=0
  159. !endif
  160.  
  161. # ------ Devices and features ------ #
  162.  
  163. # Choose the language feature(s) to include.  See gs.mak for details.
  164.  
  165. FEATURE_DEVS=level2.dev pdf.dev ttfont.dev
  166.  
  167. # Choose whether to compile the .ps initialization files into the executable.
  168. # See gs.mak for details.
  169.  
  170. COMPILE_INITS=0
  171.  
  172. # Choose whether to store band lists on files or in memory.
  173. # The choices are 'file' or 'memory'.
  174.  
  175. BAND_LIST_STORAGE=file
  176.  
  177. # Choose which compression method to use when storing band lists in memory.
  178. # The choices are 'lzw' or 'zlib'.  lzw is not recommended, because the
  179. # LZW-compatible code in Ghostscript doesn't actually compress its input.
  180.  
  181. BAND_LIST_COMPRESSOR=zlib
  182.  
  183. # Choose the implementation of file I/O: 'stdio', 'fd', or 'both'.
  184. # See gs.mak and sfxfd.c for more details.
  185.  
  186. FILE_IMPLEMENTATION=stdio
  187.  
  188. # Choose the device(s) to include.  See devs.mak for details.
  189.  
  190. DEVICE_DEVS=mswindll.dev mswinprn.dev mswinpr2.dev
  191. DEVICE_DEVS2=epson.dev eps9high.dev eps9mid.dev epsonc.dev ibmpro.dev
  192. DEVICE_DEVS3=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ljet4.dev
  193. DEVICE_DEVS4=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev pjxl.dev pjxl300.dev
  194. DEVICE_DEVS5=djet500c.dev declj250.dev lj250.dev jetp3852.dev r4081.dev lbp8.dev
  195. DEVICE_DEVS6=st800.dev stcolor.dev bj10e.dev bj200.dev m8510.dev necp6.dev bjc600.dev bjc800.dev
  196. DEVICE_DEVS7=t4693d2.dev t4693d4.dev t4693d8.dev tek4696.dev
  197. DEVICE_DEVS8=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev pcxcmyk.dev
  198. DEVICE_DEVS9=pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev
  199. DEVICE_DEVS10=tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev tifflzw.dev tiffpack.dev
  200. DEVICE_DEVS11=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev tiff12nc.dev tiff24nc.dev
  201. DEVICE_DEVS12=psmono.dev bit.dev bitrgb.dev bitcmyk.dev
  202. DEVICE_DEVS13=pngmono.dev pnggray.dev png16.dev png256.dev png16m.dev
  203. DEVICE_DEVS14=jpeg.dev jpeggray.dev
  204. DEVICE_DEVS15=pdfwrite.dev pswrite.dev epswrite.dev pxlmono.dev pxlcolor.dev
  205.  
  206. # ---------------------------- End of options ---------------------------- #
  207.  
  208. # Define the name of the makefile -- used in dependencies.
  209.  
  210. MAKEFILE=wincom.mak watcw32.mak
  211.  
  212. # Define the current directory prefix and shell invocations.
  213.  
  214. D=\\
  215.  
  216. EXPP=
  217. SH=
  218. # The following is needed to work around a problem in wmake
  219. SHP=command /c
  220.  
  221. # Define the arguments for genconf.
  222.  
  223. CONFILES=-p %%s, -o $(ld_tr) -l lib.tr
  224.  
  225. # Define the generic compilation flags.
  226.  
  227. PLATOPT=
  228.  
  229. INTASM=
  230. PCFBASM=
  231.  
  232. # Make sure we get the right default target for make.
  233.  
  234. dosdefault: default
  235.  
  236. # Define the compilation flags.
  237.  
  238. !ifeq CPU_TYPE 586
  239. CPFLAGS=-5s
  240. !else
  241. !ifeq CPU_TYPE 486
  242. CPFLAGS=-4s
  243. !else
  244. !ifeq CPU_TYPE 386
  245. CPFLAGS=-3s
  246. !else
  247. CPFLAGS=
  248. !endif
  249. !endif
  250. !endif
  251.  
  252. !ifeq FPU_TYPE 586
  253. FPFLAGS=-fp5
  254. !else
  255. !ifeq FPU_TYPE 486
  256. FPFLAGS=-fp4
  257. !else
  258. !ifeq FPU_TYPE 386
  259. FPFLAGS=-fp3
  260. !else
  261. FPFLAGS=
  262. !endif
  263. !endif
  264. !endif
  265.  
  266.  
  267. !ifneq NOPRIVATE 0
  268. CP=/DNOPRIVATE
  269. !else
  270. CP=
  271. !endif
  272.  
  273. !ifneq DEBUG 0
  274. CD=/DDEBUG
  275. !else
  276. CD=
  277. !endif
  278.  
  279. !ifneq TDEBUG 0
  280. # What options should WATCOM use for $(CT) when debugging?
  281. CT=-d2
  282. LCT=DEBUG ALL
  283. COMPILE_FULL_OPTIMIZED=    # no optimization when debugging
  284. COMPILE_WITH_FRAMES=    # no optimization when debugging
  285. COMPILE_WITHOUT_FRAMES=    # no optimization when debugging
  286. !else
  287. CT=-d1
  288. LCT=DEBUG LINES
  289. COMPILE_FULL_OPTIMIZED=-Oilmre -s
  290. COMPILE_WITH_FRAMES=-Of+
  291. COMPILE_WITHOUT_FRAMES=-s
  292. !endif
  293.  
  294. !ifneq DEBUG 0
  295. CS=
  296. !else
  297. CS=-s
  298. !endif
  299.  
  300.  
  301. # Specify output object name
  302. CCOBJNAME=-Fo
  303.  
  304. # Specify function prolog type
  305. COMPILE_FOR_DLL=/LD
  306. COMPILE_FOR_EXE=
  307. COMPILE_FOR_CONSOLE_EXE=
  308.  
  309. GENOPT=$(CP) $(CD) $(CT) $(CS) -zq
  310.  
  311. CCFLAGS=$(PLATOPT) $(FPFLAGS) $(CPFLAGS) $(CFLAGS) $(XCFLAGS)
  312. CC=$(COMP) -c $(CCFLAGS) @ccf32.tr
  313. CPP=$(COMPCPP) -c $(CCFLAGS) @ccf32.tr
  314. !ifneq MAKEDLL 0
  315. WX=$(COMPILE_FOR_DLL)
  316. !else
  317. WX=$(COMPILE_FOR_EXE)
  318. !endif
  319. CCC=$(CC) $(WX) $(COMPILE_FULL_OPTIMIZED)
  320. CCD=$(CC) $(WX) $(COMPILE_WITH_FRAMES)
  321. CCINT=$(CC)
  322. CCCF=$(CCC)
  323. CCLEAF=$(CCC) $(COMPILE_WITHOUT_FRAMES)
  324.  
  325. # Compiler for auxiliary programs
  326.  
  327. CCAUX=$(COMPAUX) -I$(INCDIR) -O
  328.  
  329. # Define the generic compilation rules.
  330.  
  331. .c.obj:
  332.     $(CCC) $<
  333.  
  334. .cpp.obj:
  335.     $(CPP) $<
  336.  
  337. # Define the files to be removed by `make clean'.
  338. # nmake expands macros when encountered, not when used,
  339. # so this must precede the !include statements.
  340.  
  341. BEGINFILES2=gsdll32.rex gswin32.rex gswin32c.rex
  342.  
  343. # Include the generic makefiles.
  344.  
  345. !include wincom.mak
  346.  
  347.  
  348. # -------------------------- Auxiliary programs --------------------------- #
  349.  
  350. ccf32.tr: $(MAKEFILE) makefile
  351.     echo $(GENOPT) -I$(INCDIR) -DCHECK_INTERRUPTS -D_Windows -D__WIN32__ -D_WATCOM_ > ccf32.tr
  352.  
  353. $(GENARCH_XE): genarch.c $(stdpre_h) $(iref_h) ccf32.tr
  354.     $(CCAUX_SETUP)
  355.     $(CCAUX) @ccf32.tr genarch.c $(CCAUX_TAIL)
  356.  
  357. # -------------------------------- Library -------------------------------- #
  358.  
  359. # See wincom.mak
  360.  
  361. # ----------------------------- Main program ------------------------------ #
  362.  
  363. #LIBCTR=libc32.tr
  364. LIBCTR=
  365.  
  366. #rjl
  367. #$(LIBCTR): $(MAKEFILE) $(ECHOGS_XE)
  368. #        echogs -w $(LIBCTR) $(LIBDIR)\shell32.lib
  369. #        echogs -a $(LIBCTR) $(LIBDIR)\comdlg32.lib
  370.  
  371. DWOBJLINK=dwdll.obj, dwimg.obj, dwmain.obj, dwtext.obj, gscdefs.obj
  372. DWOBJNOLINK= dwnodll.obj, dwimg.obj, dwmain.obj, dwtext.obj
  373. OBJCLINK=dwmainc.obj, dwdllc.obj, gscdefs.obj
  374. OBJCNOLINK=dwmainc.obj, dwnodllc.obj
  375.  
  376. !ifneq MAKEDLL 0
  377. # The graphical small EXE loader
  378. $(GS_XE): $(GSDLL).dll $(GSDLL).lib  $(DWOBJ) $(GSCONSOLE).exe $(GS).res 
  379.     $(LINK) system nt_win $(LCT) Name $(GS_XE) File $(DWOBJLINK) Library $(GSDLL).lib
  380.     $(WBIND) $(GS_XE) -R $(GS).res
  381.  
  382. # The console mode small EXE loader
  383. $(GSCONSOLE).exe: $(OBJC) $(GS).res dw32c.def
  384.     $(LINK) system nt option map $(LCT) Name $(GSCONSOLE).exe File $(OBJCLINK) Library $(GSDLL).lib
  385.     $(WBIND) $(GSCONSOLE).exe -R $(GS).res
  386.  
  387. # The big DLL
  388. $(GSDLL).dll: $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(GSDLL).res 
  389.     $(LINK) system nt_dll initinstance terminstance @gsdll32.wex $(LCT) Name $(GSDLL).dll File gsdll.obj, @$(ld_tr) 
  390.     $(WBIND) $(GSDLL).dll -R $(GSDLL).res
  391.  
  392. $(GSDLL).lib: $(GSDLL).dll
  393.     erase $(GSDLL).lib
  394.     wlib $(GSDLL) +$(GSDLL).dll
  395.  
  396. !else
  397. # The big graphical EXE
  398. $(GS_XE): $(GSCONSOLE).exe $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(DWOBJNO) $(GS).res dwmain32.def
  399.     $(LINK) option map $(LCT) Name $(GS) File gsdll, $(DWOBJNOLINK), @$(ld_tr) 
  400.     $(WBIND) $(GS_XE) -R $(GSDLL).res
  401.  
  402. # The big console mode EXE
  403. $(GSCONSOLE).exe:  $(GS_ALL) $(DEVS_ALL) gsdll.$(OBJ) $(OBJCNO) $(GS).res dw32c.def
  404.     $(COMPDIR)\$(LINK) option map $(LCT) Name $(GSCONSOLE).exe File gsdll, $(OBJCNOLINK), @$(ld_tr) 
  405.     $(WBIND) $(GSCONSOLE).exe -R $(GSDLL).res
  406. !endif
  407.  
  408. # end of makefile
  409.  
  410.  
  411.